package com.gengzp.common.model.database.req;

import com.gengzp.common.document.annotations.ApiModel;
import com.gengzp.common.document.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;

import java.io.Serial;
import java.io.Serializable;

/**
 * @ClassName EditSysDatabaseReq
 * @Description 编辑系统数据库请求实体
 * @Author gengzp
 * @Date 2025/7/8 11:01
 */
@Data
@ApiModel(description = "编辑系统数据库请求实体")
public class EditSysDatabaseReq implements Serializable {

    @Serial
    private static final long serialVersionUID = -3095515871202727329L;

    /**
     * 数据库id不能为空
     */
    @NotBlank(message = "数据库id不能为空")
    @ApiModelProperty(value = "数据库id", required = true)
    private String id;

    /**
     * 数据库名称
     */
    @NotBlank(message = "数据库名称不能为空")
    @ApiModelProperty(value = "数据库名称", required = true)
    private String databaseName;

    /**
     * 数据库编码
     */
    @NotBlank(message = "数据库编码不能为空")
    @ApiModelProperty(value = "数据库编码", required = true)
    private String databaseCode;

    /**
     * 数据库链接地址
     */
    @NotBlank(message = "数据库链接地址不能为空")
    @ApiModelProperty(value = "数据库链接地址", required = true)
    private String databaseUrl;

    /**
     * 数据库用户名
     */
    @NotBlank(message = "数据库用户名不能为空")
    @ApiModelProperty(value = "数据库用户名", required = true)
    private String databaseUsername;

    /**
     * 数据库密码
     */
    @NotBlank(message = "数据库密码不能为空")
    @ApiModelProperty(value = "数据库密码", required = true)
    private String databasePassword;

    /**
     * 数据库类型
     */
    @NotBlank(message = "数据库类型不能为空")
    @ApiModelProperty(value = "数据库类型", required = true)
    private String databaseType;

    /**
     * 数据库描述
     */
    @ApiModelProperty(value = "数据库描述")
    private String databaseDescription;

}
